const path = require('path')
const resolve = dir => path.join(__dirname, dir)
const fs = require('fs')

module.exports = {
  // baseUrl: '/', // 根路径  Vue CLI 3.3起已弃用，使用publicPath
  outputDir: 'dist', // 打包的时候生成的一个文件名
  // assetsSubDirectory: 'public', // vuec4不允许  被publicPath覆盖
  // assetsPublicPath: '/',// 定义的是静态资源的公开路径，也就是真正的引用路径 ---vuec4不允许
  publicPath: '/public', // 部署应用包时的基本 URL  静态资源公开访问路径
  assetsDir: 'assets', // 静态资源目录(js,css,img,fonts)这些文件都可以写里面
  lintOnSave: true, // 是否开启eslint保存检测 ,它的有效值为 true || false || 'error'
  devServer: {
    open: true, // 启动项目后自动开启浏览器
    host: 'localhost', // 对应的主机名
    port: 8088, // 端口号
    https: false, // 是否开启协议名,如果开启会发出警告
    hotOnly: false, // 热模块更新的一种东西,webpack中自动有过配置,但如果我们下载一些新的模块可以更好的给我更新一些配置
    proxy: {
      // 配置跨域
      '/api': { // 配置跨域的名字
        target: 'http://localhost:8099', // 跨域的地址
        secure: false, // 如果是https接口，需要配置这个参数
        ws: false,  // 代理 websockets
        changeOrigin: true // 是否跨域
        //pathRewrite: { // 当前的名字
        //  '^/api': '/public/json'
        //}
      }
    }
  },
  runtimeCompiler: true,
  // 配置路径别名
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('_c', resolve('src/components/'))
      .set('stylus', resolve('src/assets/stylus/'))
      .set('com', resolve('src/components/'))
  },
  // 传递第三方插件选项
  pluginOptions: {
  },
  // 全局注入通用样式
  css: {
    loaderOptions: {
      stylus: {
        data: fs.readFileSync('./src/assets/stylus/mixins.styl', 'utf-8')
      }
    }
  }
}
